package com.wh.wisdomsite.xbox.core.config.spring;

import com.wh.wisdomsite.xbox.common.config.SystemParameterNames;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.util.StringUtils;
import org.w3c.dom.Element;

/***
 * 注册系统参数
 * @Package com.wh.wisdomsite.xbox.core
 * @author 谢泽鹏
 * @date 2016年11月07日 下午15:10
 * @Copyright 个人版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2016
 * @version V1.0
 */
public class SystemParameterNamesBeanDefinitionParser implements BeanDefinitionParser {

    @Override
    public BeanDefinition parse(Element element, ParserContext parserContext) {
        //获取参数集
        String appkey = element.getAttribute("appkey-param-name");
        String method = element.getAttribute("method-param-name");
        String version = element.getAttribute("version-param-name");
        String locale = element.getAttribute("locale-param-name");
        String format = element.getAttribute("format-param-name");
        String sign = element.getAttribute("sign-param-name");
        String sessionId = element.getAttribute("sessionId-param-name");
        String bindObject = element.getAttribute("bindObject-param-name");
        //设置appkey
        if (StringUtils.hasText(appkey)) {
            SystemParameterNames.setAppKey(appkey);
        }
        //设置method
        if (StringUtils.hasText(method)) {
            SystemParameterNames.setMethod(method);
        }
        //设置version
        if (StringUtils.hasText(version)) {
            SystemParameterNames.setVersion(version);
        }
        //设置locale
        if (StringUtils.hasText(locale)) {
            SystemParameterNames.setLocale(locale);
        }
        //设置format
        if (StringUtils.hasText(format)) {
            SystemParameterNames.setFormat(format);
        }
        //设置sign
        if (StringUtils.hasText(sign)) {
            SystemParameterNames.setSign(sign);
        }
        //设置sessionId
        if (StringUtils.hasText(sessionId)) {
            SystemParameterNames.setSessionId(sessionId);
        }
        //设置bindObject
        if (StringUtils.hasText(bindObject)) {
            SystemParameterNames.setBindObject(bindObject);
        }
        return null;
    }
}
